/**
 * Prettier 配置文件
 * 为整个 monorepo 项目提供统一的代码格式化规则
 */
module.exports = {
  // 基础配置
  semi: true, // 语句末尾添加分号
  trailingComma: 'es5', // 在 ES5 中有效的尾随逗号（对象、数组等）
  singleQuote: true, // 使用单引号而不是双引号
  printWidth: 80, // 每行最大字符数
  tabWidth: 2, // 缩进空格数
  useTabs: false, // 使用空格而不是制表符

  // JSX 配置
  jsxSingleQuote: true, // JSX 中使用单引号
  jsxBracketSameLine: false, // JSX 标签的右括号另起一行

  // 其他配置
  bracketSpacing: true, // 对象字面量的括号间添加空格
  arrowParens: 'always', // 箭头函数参数总是添加括号
  endOfLine: 'lf', // 换行符使用 LF
  quoteProps: 'as-needed', // 对象属性仅在需要时添加引号

  // 文件覆盖配置
  overrides: [
    {
      files: '*.json',
      options: {
        printWidth: 120,
        tabWidth: 2,
      },
    },
    {
      files: '*.md',
      options: {
        printWidth: 100,
        proseWrap: 'always',
      },
    },
    {
      files: '*.yml',
      options: {
        tabWidth: 2,
        singleQuote: false,
      },
    },
  ],
};
